package com.smp.dsandroidtester.ds;

abstract public class DSNativeWrapper {

	static {
		System.loadLibrary("DS");
	}
	
	native long createIntArrayStack(int anSize, boolean abConcurrent);
	native long createIntLinkedStack(int anMaxSize, boolean abConcurrent);
	native long createIntArrayQueue(int anSize, boolean abConcurrent);
	native long createIntLinkedQueue(int anSize, boolean abConcurrent);
	native boolean destroyDS(long aBindedHandle);
	
	native void pushIntStack(long aBindedHandle, int anData);
	native int popIntStack(long aBindedHandle);
	native boolean canPushIntStack(long aBindedHandle);
	native boolean canPopIntStack(long aBindedHandle);
	native int getDataCountIntStack(long aBindedHandle);
	
	native void offerIntQueue(long aBindedHandle, int anData);
	native int pollIntQueue(long aBindedHandle);
	native int peekIntQueue(long aBindedHandle);
	native boolean canOfferIntQueue(long aBindedHandle);
	native boolean canPollIntQueue(long aBindedHandle);
	native int getDataCountIntQueue(long aBindedHandle);
}
